package com.fr.base.dav;

import com.fr.base.XMLFileManager;
import com.fr.base.xml.XMLReadable;
import com.fr.base.xml.XMLWriter;
import com.fr.data.TableData;
import com.fr.data.core.db.TableProcedure;
import com.fr.data.impl.DatabaseConnection;
import com.fr.report.ResultWorkBook;
import com.fr.report.TemplateWorkBook;
import com.fr.report.parameter.Parameter;
import java.io.InputStream;
import java.util.List;
import java.util.Map;

public abstract interface Env extends XMLReadable, XMLWriter, Cloneable
{
  public abstract String getPath();

  public abstract boolean isTemplateExist(String paramString)
    throws Exception;

  public abstract TemplateWorkBook readTemplate(String paramString)
    throws Exception;

  public abstract boolean writeTemplate(TemplateWorkBook paramTemplateWorkBook, String paramString)
    throws Exception;

  public abstract InputStream readResource(String paramString)
    throws Exception;

  public abstract boolean writeResource(XMLFileManager paramXMLFileManager)
    throws Exception;

  public abstract boolean createFolder(String paramString)
    throws Exception;

  public abstract boolean createFile(String paramString)
    throws Exception;

  public abstract boolean fileExists(String paramString)
    throws Exception;

  public abstract InputStream fileInputStream(String paramString)
    throws Exception;

  public abstract FileNode[] listFile(String paramString)
    throws Exception;

  public abstract boolean testConnection(DatabaseConnection paramDatabaseConnection)
    throws Exception;

  public abstract List getTableColumnNames(TableData paramTableData)
    throws Exception;

  public abstract void setTableColumnNames(TableData paramTableData)
    throws Exception;

  public abstract String[] getTableSchema(DatabaseConnection paramDatabaseConnection)
    throws Exception;

  public abstract TableProcedure[] getSQLTablesProcedure(DatabaseConnection paramDatabaseConnection, String paramString)
    throws Exception;

  public abstract TableProcedure[] getTableProcedure(DatabaseConnection paramDatabaseConnection, String paramString1, String paramString2)
    throws Exception;

  public abstract Parameter[] getTableDataParameters(TableData paramTableData)
    throws Exception;

  public abstract TableData previewTableData(TableData paramTableData, Map paramMap, int paramInt)
    throws Exception;

  public abstract Parameter[] getTemplateParameters(TemplateWorkBook paramTemplateWorkBook)
    throws Exception;

  public abstract ResultWorkBook executeTemplate(TemplateWorkBook paramTemplateWorkBook, Map paramMap)
    throws Exception;
}